from config import H0ST  # 导入配置文件中的基础主机地址


class ApiApproveTrust:
    """认证与信托开户API封装类

    功能：封装实名认证、认证状态查询和信托开户三个核心接口
    """

    def __init__(self, session):
        """初始化方法

        参数:
            session: requests.Session对象，用于保持会话状态
        """
        # 保存会话对象（共享cookies和headers）
        self.session = session

        # 构建三个接口的完整URL（私有变量）
        # 实名认证接口URL
        self.__url_approve = H0ST + "/member/realname/approverealname"

        # 认证状态查询接口URL
        self.__url_approve_status = H0ST + "/member/member/getapprove"

        # 信托开户接口URL
        self.__url_trust = H0ST + "/trust/trust/register"

    def api_approve(self):
        """执行实名认证接口请求

        功能：提交用户实名认证信息
        返回: requests.Response对象
        """
        # 准备请求数据
        data = {
            "realname": "张三",  # 用户真实姓名
            "cardid": "1234567891234567"  # 身份证号码
        }

        # 发送POST请求
        # files参数用于模拟文件上传（可能是预留接口）
        return self.session.post(
            url=self.__url_approve,
            data=data,
            files={"x": "y"}  # 文件上传占位符
        )

    def api_approve_stutas(self):
        """查询实名认证状态接口

        功能：获取用户当前的实名认证状态
        返回: requests.Response对象
        """
        # 发送简单的POST请求（无请求体）
        return self.session.post(url=self.__url_approve_status)

    def api_trust(self):
        """执行信托开户接口请求

        功能：为用户开通信托账户
        返回: requests.Response对象
        """
        # 发送POST请求到信托开户接口
        return self.session.post(self.__url_trust)